﻿函数 空类型 f1()
	常量 字符型* uri文本 = "https://john.doe@www.example.com:123/forum/questions/?tag=networking&order=newest#top"
	常量 字符型* 错误位置;
	Uri统一资源标识符 uri;
	
	调试输出("uri文本: ", uri文本)

	如果 uri解析单个Uri(&uri, uri文本, &错误位置) != URI_完成
		调试输出("错误1")
	
	文本型 uri文本2
	如果 uri统一资源标识符到文本(&uri, uri文本2) != URI_完成
		调试输出("错误2")
	调试输出("uri到文本: ", uri文本2)

	调试输出("方案: ", uri文本范围到文本(uri.方案))
	调试输出("用户信息: ", uri文本范围到文本(uri.用户信息))
	调试输出("主机文本: ", uri文本范围到文本(uri.主机文本))
	调试输出("端口文本: ", uri文本范围到文本(uri.端口文本))
	调试输出("查询: ", uri文本范围到文本(uri.查询))
	调试输出("片段: ", uri文本范围到文本(uri.片段))

	变量循环 Uri路径段* 路径 = uri.路径头 ; 路径 != uri.路径尾 ; 路径 = 路径->下一个
		调试输出("路径: ", uri文本范围到文本(路径->文本))

	Uri查询列表* queryList;
	整型 项目数;
	如果 uri分配查询列表(&queryList, &项目数, uri.查询.首, uri.查询.尾) != URI_完成
		调试输出("错误3")

	变量循环 Uri查询列表* 项目 = queryList; 项目 != NULL; 项目 = 项目->下一个
		调试输出("键:  ", 项目->键, " 值:" 项目->值)

	文本型 查询2
	如果 uri查询列表到文本(queryList, 查询2) != URI_完成
		调试输出("错误4")
	调试输出("查询列表到文本: ", 查询2)

	uri释放查询列表(queryList)
	uri释放Uri成员(&uri)

函数 整型 入口函数()
	控制台置中文编码()
	f1()
	控制台暂停()
	返回 0
